الأحد، 21 يونيو 2020

3.3 | المتغيرات | دورة تعلم الاردوينو باحترافية



3.3 | المتغيرات | دورة تعلم الاردوينو باحترافية

من المعروف بأن الاردوينو متحكم دقيقق, يعمل كدماغ للمشاريع, ومن المعروف أن دماغ الأنسان يخزن أي شيء قبل اخراجه, وبالمثل فإن الأردوينو يحتاج إلى تخزين القيم, ويخزن الأردوينو هذا بطريقتين, وهما المتغيرات (Variable), والثوابت (Constant), وسنتناول في هذا الموضوع المتغيرات, وسنترك الثوابت في الموضوع اللاحق.

المتغيرات

أحيانا قد تحتاج إلى حفظ قيمة أثناء عمل البرنامج, لاستخدامها في موقع أخر في البرنامج, ولعمل هذه العملية فلا بد من معرفة المتغيرات.

المتغيرات: هي مساحة من الذاكرة تستخدم لتخزين المعلومات, قابلة لتغير قيمتها أثناء عمل البرنامج.

ولمعرفة كيف يتم تخزين القيمة لابد من معرفة كيفية تترتب خلايا ذاكرة الأردوينو.

ترتيب الخلايا في ذاكرة الاردوينو

يوجد في الأردوينو ذاكرة يتم تخزين المعلومات فيها.
تتكون الذاكرة من مجموعة من الخلاية المتتابعة ولكل خلية عنوان خاص بها, وتسمح كل خلية بتخزين بداخلها بايت باللغة الثنائية, لاحظ الشكل التالي, بحيث تكون الأرقام عناوين الخلايا.


ماذا يحدث عند تعريف المتغير

عند تعريف المتغير يقوم الأردوينو بحجز مجموعة من الخلايا المتتابعة ليخزن بداخلها القيم, وسنتعرف على مساحة الخلايا المحجوزة لاحقا.

كما ذكرنا سابقا بأن المتغيرات هي عبارة عن مساحة من الذاكرة يخزن بداخلها المعلومات, وليتم تخزين المعلومات لابد أن يتم أولا حجز مساحة للمعلومة ومن ثم يتم وضع المعلومة بداخلها.
على سبيل المثال, لو أردنا أن نخزن رقم 8 في ذاكرة الأردوينو, فسيقوم الأردوينو أولا بحجز مساحة من الذاكرة(عدد من الخلايا) تكفي لتخزين الرقم 8 بالصيغة الثنائية ويسميها باسم معين, ومن ثم يضيف الأردوينو الرقم 8 داخل هذه المساحة.
الشكل التالي يوضح ألية حجز مساحة للمتغير, بحيث عمل الأردوينو بحجز الخلية 1500 و 1501 و 1502 و 1503 ,  ويسميها بالأسم الذي يحدد من خلال الكود البرمجي.


بعدها يقوم الأردوينو بتخزين القيمة المراد تخزينها داخل الخلايا التي تم حجزها, ويخزن باللغة الثنائية, وذلك لأن الأردوينو يتعامل باللغة الثنائية, الشكل التالي يوضح عملية التخزين.

مما سبق يتضح أنه لا بد أن يوجد اسم للمتغير ليتم تسمية الخلايا المحجوزة به,ولذلك لا بد أن نتعرف على القواعد العامة لأسماء المتغيرات, قبل أن نتعرف كيف يعرف الأردوينو المتغيرات ويخزن القيم بها.

قواعد كتابة أسماء المتغيرات

أن يتكون اسم المتغير من الأرقام والحروف فقط ولا يسمح بأي رمز سوى _
أن يبدأ اسم المتغير بحرف أو ب _ .
أن لا يكون اسم المتغير من كلمات المحجوزة (reserve word) أو سبق استخدامها كاسم لمتغير.
يفضل أن يكون اسم المتغير اسما ذا معنى يساعد على فهم البرنامج ومتابعة خطواته.
بنائا على هذه القواعد أي الأسماء التالية من الممكن أن تقبل كاسم متغير


ملاحظة: لغة ال C++ لغة حساسة (sensitive) أي أن الحرف (A) يختلف عن الحرف (a).

تستخدم الصيغة التالية لحجز للمتغير  مساحة في الذاكرة, وتعرف هذه العملية ب declaration

بحيث يعدل var على اسم المتغير, أما ال data type فهي نوع المتغير والتي سنتعرف عليها خلال هذا الموضوع.
الأمثلة التالية توضح السابق.
int num;
double number;
char ch;
يعد كل من num و number و ch أسماء متغيرات.
في حين يعد كل من int و double و char أنواع من المتغيرات التي سنذكرها لاحقا في هذا المقال.

بعد حجز مساحة للمتغير يمكن لنا وضع قيمة بداخله (initialization) باستخدام الصيغة التالية:

الأمثلة التالية توضح السابق.

num = 2080;

Number = 2080.5;

ch = ‘A’;


في المثال السابق تم تخزين قيمة 2080 في المتغير num الذي تم حجزه في الفقرة السابقة, وتم تخزين 2080.5 في المتغير Number الذي تم حجزه سابقا, وتم تخزين الحرف A في المتغير ch الذي تم حجزه سابقا.

يتوفر بالأردوينو أمر يقوم الأردوينو بموجبه بحجز مساحة من الذاكرة وتخزين قيمة بها, وهي كالتالي.
وبالتالي فان الامر البرمجي التالي
 int num = 2080;
 يكافئ الأمرين البرمجيين التاليين.
int num;
num = 2080;
تعلمنا أنه يجب تعريف المتغير ثم يمكننا وضع قيمة بداخله وقتما نشاء, على سبيل المثال يمكن تعريف متغير صحيح باسم x ومن ثم وضع بداخله القيمة 5 ومن ثم تغيرها لاحقا بالقيمة 8, كالتالي:

أنواع المتغيرات

الأعداد الصحيحة: وهي التي لا يكون فيها جزء عشري مثل 8و 20و 2000 و10503
الأعداد العشرية: وهي التي يكون فيها جزء عشري مثل 0.0 و 8.0 و 7.45 و 42.1
الحروف: يخزن بها فقط حرف أو رمز واحد يتبع لجدول الأسكي كود مثل ‘A’
الجمل: ويتم فيها كتابة مجموعة من الحروف بجانب بعضها مثل “Amr Shtat”.

ولكل نوع مساحة تخزينية محددة, والتي سنتعرف عليها الان.


 الأعداد الصحيحة  Integer data type

ويمكن الحصول عليها باحد الطرق التالية, حيث يكون الفرق بقيمة العدد المسموح تخزينه في المتغير.
المتغير من نوع  int يجب أن تكون قيمته ما بين 32,768- إلى 32,767.
المتغير من نوع  byteيجب أن تكون قيمته ما بين 0 إلى 255 فقط.
المتغير من نوع long يجب أن تكون قيمته ما بين - 2,147,483,648  إلى  2,147,483,647
تعد كل من int , short , long كلمات محفوظة.
أمثلة:
int number = 5;
long num = 5;
short small = 5;

Boolean data type

يعتبر ال Boolean  من أنواع المتغيرات وهو أبسطها إذ يخزن بداخله إحدى القيمتين إما 1 وتكافئ True أو صفر وتكافئ false ولتعريف هذا النوع نستخدم الصياغة التالية.
من الممكن كتابة كلمة boolean بدل كلمة bool
لاحظ الأمثلة التالية:
bool isTrue= 1;
bool istrue = 0;
bool isFund;
وهذه اأمثلة تكافئ الأمثلة التالية.أمثلة:
bool isTrue= true;
bool istrue = false;
bool isFund;

الأعداد العشرية Floating point

لتعريف متغير عشري نتبع أحد الصيغ التالية:-
المتغير من نوع  floatيجب أن تكون قيمته ما بين 3.4028235E+38- إلى 3.4028235E+38.
المتغير من نوع  doubleيشبه سابقه, إلا أن ...
أمثلة:
flout number = 5.0f;
double num = 5.0;

الحروف characters

لتعريف متغير حرفي نتبع الصيغة التالية
أمثلة:
char ch = ‘A’;
Char N = ‘8’;
char l = ‘a’;
char RR = ‘+’;
يمكن حصر الحروف التي يمكن استخدامها ب جدول الأسكي (ASCII code)
وسنتعرف على فائدة جدول الأسكي لاحقا.

تعريف الجمل String

تستخدم الصيغة التالية لتعريف متغير من نوع string:
أمثلة:
String name = “Amr”;
String Last_name = “Shtat”;
String full_Name;

ملاحظة:
  • ال String  ليس data type وانما يعتبر object.
  • ال String يعد من نوع ال Struct data type.
  • في حين يعتبر باقي الأنواع من int و double و char و ...  من نوع Simple data type.


الملخص:




كانت هذه المحاضرة الثانية في الشبتر الثالث من دورة تعلم الأردوينو باحترافية,
لمشاهدة الحلقات التابعة لهذا الموضوع من على اليوتيوب: من هنا الجزء الأول, ومن هنا الجزء الثاني, ومن هنا الجزء الثالثولكي تنتقل إلى فهرس الدورة, اضغط هنا.
للانتقال للدورة على اليوتيوب, اضغط هنا.

للإنتقال إلى الموضوع السابق, اضغط هنا.
للإنتقال إلى الموضوع التالي, اضغط هنا.

والسلام عليكم ورحمة الله تعالى وبركاته

إذا كنت تحتاج إلى عدد أكبر من الفقرات يتيح لك مولد النص العربى زيادة عدد الفقرات كما تريد. هذا النص هو مثال لنص يمكن أن يستبدل في نفس المساحة, ومن هنا وجب على المصمم أن يضع نصوصا مؤقتة على التصميم ليظهر للعميلً